Systems and methods to control radiation scanner positioning

ABSTRACT

An example scanner positioning control system includes: a display; a processor; and a computer readable storage medium comprising computer readable instructions which, when executed, cause the processor to: output, via the display, a first visual representation of an arrangement of a radiation source, a radiation detector, and a workpiece positioner; identify a change to be made to the arrangement of at least one of the radiation source, the radiation detector, or the workpiece positioner; output, via the display, a second visual representation of the arrangement of the radiation source, the radiation detector, and the workpiece positioner based on the change to be made to the arrangement; and control a scanner positioning system to physically move the at least one of the radiation source, the radiation detector, and the workpiece positioner based on the change.

BACKGROUND

This disclosure relates generally to radiography and, more particularly,to systems and methods to control radiation scanner positioning.

X-ray scanning systems involve directing high-intensity radiation towarda device or object under test to obtain one or more images that may notbe obtainable using other scanning systems (e.g., ultrasound, visiblelight, etc.). X-ray scanning systems may have multiple parameters thatare dependent on the relative arrangements of the components in theX-ray scanning system.

SUMMARY

Systems and methods to control radiation scanner positioning aredisclosed, substantially as illustrated by and described in connectionwith at least one of the figures, as set forth more completely in theclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentdisclosure will become better understood when the following detaileddescription is read with reference to the accompanying drawings in whichlike characters represent like parts throughout the drawings, wherein:

FIG. 1 illustrates an example X-ray scanning system that may becontrolled using a scanner positioning control system, in accordancewith aspects of this disclosure.

FIG. 2 is a block diagram of the example X-ray scanning system andscanning positioning control system of FIG. 1.

FIG. 3 illustrates an example interface that may be used to implementthe scanner positioning control system, showing a first visualrepresentation of a current arrangement of one or more components of theX-ray scanning system and a second arrangement representative of achange to the current arrangement of the one or more components.

FIG. 4 illustrates an example interface that may be used to implementthe scanner positioning control system, showing a first visualrepresentation of a current arrangement of one or more components of theX-ray scanning system, a second arrangement representative of a changeto the current arrangement of the one or more components, and an exampleguide graphic that may be used to define a change in position and/ororientation of the workpiece positioner.

FIG. 5 illustrates an example interface that may be used to implementthe scanner positioning control system, showing a first visualrepresentation of a current arrangement of one or more components of theX-ray scanning system, a second arrangement representative of a changeto the current arrangement of the one or more components, and an exampletrajectory between the first arrangement and the second arrangement.

FIG. 6 illustrates an example interface that may be used to implementthe scanner positioning control system, showing a first visualrepresentation of a current arrangement of one or more components of theX-ray scanning system including a robotic manipulator, and a secondarrangement representative of a change to the current arrangement of theone or more components.

FIG. 7 is a flowchart representative of example machine readableinstructions which may be executed by the example computing device ofFIG. 2 to perform digital X-ray imaging, in accordance with aspects ofthis disclosure.

FIG. 8 is a block diagram of an example computing system that may beused to implement the scanner positioning control system of FIG. 2.

The figures are not necessarily to scale. Wherever appropriate, similaror identical reference numerals are used to refer to similar oridentical components.

DETAILED DESCRIPTION

Conventional scanner positioning systems involve a user interface thatprovides controls for individual modes of component positioning. Forinstance, a conventional scanner positioning system may include a numberand a range representative of the height of the X-ray emitter, a numberand a range representative of the height of the manipulator, and/or anumber and a range representative of the height of the X-ray receiver.However, the person operating the controls may not have a clear idea ofthe final position resulting from a change to the number on theinterface. Accordingly, conventional scanner positioning systems mayinvolve significant trial-and-error on the part of the operator todetermine the desired positioning to achieve the desired scan.

Disclosed scanner positioning control systems and methods provide asignificantly easier interface that enables an operator to see theproposed changes to an arrangement of the X-ray emitter, themanipulator, the X-ray detector, and/or any other components of thescanning system, prior to implementing the changes in the scanningsystem. In some examples, the scanner positioning control systems andmethods provide visualizations of both the starting position prior to apositioning adjustment and the ending position following the positioningadjustment. In some examples, the scanner positioning control systemsand methods may calculate and display relevant metrics, such as numericmeasurements of distances between components and/or other measurementsof position, calculated focal length and/or unsharpness parameters,and/or any other information. As a result, the operator may manipulatethe virtual representations of the components via the interface untilthe desired arrangement or positioning is achieved, at which time theoperator may command the scanner positioning control system to implementthe changes via the appropriate actuators of the scanning system.

Disclosed example scanner positioning control systems include: adisplay; a processor; and a computer readable storage medium comprisingcomputer readable instructions which, when executed, cause the processorto: output, via the display, a first visual representation of anarrangement of a radiation source, a radiation detector, and a workpiecepositioner; identify a change to be made to the arrangement of at leastone of the radiation source, the radiation detector, or the workpiecepositioner; output, via the display, a second visual representation ofthe arrangement of the radiation source, the radiation detector, and theworkpiece positioner based on the change to be made to the arrangement;and control a scanner positioning system to physically move the at leastone of the radiation source, the radiation detector, and the workpiecepositioner based on the change.

In some example scanner positioning control systems, the first visualrepresentation includes at least one of: a projection of a currentposition of the radiation source onto a reference plane; a projection ofa current position of the radiation detector onto the reference plane; aprojection of a current position of the workpiece positioner onto thereference plane; or a projection of a part positioned on the workpiecepositioner onto the radiation detector based on the current position ofthe radiation source, the radiation detector, and the workpiecepositioner. In some example scanner positioning control systems, thesecond visual representation includes at least one of: a projection of achanged position of the radiation source onto the reference plane basedon the change to be made to the arrangement; a projection of a changedposition of the radiation detector onto the reference plane based on thechange to be made to the arrangement; a projection of a changed positionof the workpiece positioner onto the reference plane based on the changeto be made to the arrangement; or a projection of the part positioned onthe workpiece positioner onto the radiation detector based on the changeto be made to the arrangement.

In some example scanner positioning control systems, the computerreadable instructions cause the processor to control the scannerpositioning system by controlling at least one of: an enclosure in whichthe radiation source, the radiation detector, and the workpiecepositioner are enclosed; a door of the enclosure; boundaries of theenclosure; a limit of motion of at least one of radiation source, theradiation detector, or the workpiece positioner; a range of motion inwhich a collision involving at least one of radiation source, theradiation detector, or the workpiece positioner has less than athreshold likelihood of occurring; a filter wheel; a collimator; or ashutter.

In some example scanner positioning control systems, the computerreadable instructions cause the processor to access current positions ofthe radiation source, the radiation detector, and the workpiecepositioner, and determine the first visual representation of thearrangement of the radiation source, the radiation detector, and theworkpiece positioner based on the positions. In some example scannerpositioning control systems, the first visual representation includes atleast one of a representation of a current focal point of radiationemitted by the radiation source or an updated focal point based on thechange to be made to the arrangement. In some example scannerpositioning control systems, the computer readable instructions causethe processor to determine at least one of a magnification, anunsharpness parameter, or a focal length of the radiation detectorfollowing the change to be made to the arrangement.

In some example scanner positioning control systems, the computerreadable instructions cause the processor to: identify a trajectory tobe followed by at least one of the radiation source, the radiationdetector, or the workpiece positioner during a scanning operation, thetrajectory having a starting arrangement of the radiation source, theradiation detector, and the workpiece positioner and an endingarrangement of the radiation source, the radiation detector, and theworkpiece positioner; output, via the display, a third visualrepresentation comprising the starting arrangement and the endingarrangement; and control the scanner positioning system during thescanning operation to physically move the at least one of the radiationsource, the radiation detector, and the workpiece positioner based onthe trajectory from the starting arrangement to the ending arrangement.In some example scanner positioning control systems, the third visualrepresentation visually represents at least one of a change in positionor a change in orientation of at least one of the radiation source, theradiation detector, and the workpiece positioner between the startingarrangement and the ending arrangement. In some example scannerpositioning control systems, the first visual representation and thesecond visual representation are three-dimensional representations.

In some example scanner positioning control systems, the computerreadable instructions cause the processor to determine a range of motionof at least one of the radiation source, the radiation detector, or theworkpiece positioner, wherein at least one of the first visualrepresentation or the second visual representation include arepresentation of the range. In some example scanner positioning controlsystems, the computer readable instructions cause the processor todetermine whether a motion associated with the change to the arrangementwill cause at least one of the radiation source, the radiation detector,or the workpiece positioner to exceed the limits of the range of motion.

In some example scanner positioning control systems, at least one of thefirst visual representation or the second visual representation includesa representation of a workpiece held on the workpiece positioner. Insome example scanner positioning control systems, at least one of thefirst visual representation or the second visual representation includesa representation of a robot arm, an origin point of a movement of theworkpiece positioner, or one or more vectors representative of thechange to the arrangement. In some example scanner positioning controlsystems, the computer readable instructions are to cause the processorto output, via the display, a third visual representation of anintermediate arrangement of the radiation source, the radiationdetector, and the workpiece positioner based on the arrangement and thechange to be made to the arrangement.

In some example scanner positioning control systems, at least one of thefirst visual representation or the second visual representation includesat least one of an enclosure, an enclosure door, a filter wheel, aradiation source collimator, or a radiation source shutter. In someexample scanner positioning control systems, the computer readableinstructions cause the processor to determine at least one of amagnification, an unsharpness parameter, or a focal length of theradiation detector of the arrangement. Some example scanner positioningcontrol systems include a user input device, wherein the computerreadable instructions cause the processor to identify the change to bemade to the arrangement based on one or more inputs via the user inputdevice.

Some other disclosed example scanner positioning systems include: adisplay; a processor; and a computer readable storage medium comprisingcomputer readable instructions which, when executed, cause the processorto: render a three-dimensional representation of a radiation source, aradiation detector, and a workpiece positioner based on an arrangementof the radiation source, the radiation detector, and the workpiecepositioner; render changes to the arrangement in response to commands tochange the arrangement; and control positions and orientations of theradiation source, the radiation detector, and the workpiece positionerbased on the rendered arrangement including the rendered changes.

Still other disclosed example scanner positioning control systemsinclude: a display; a processor; and a computer readable storage mediumcomprising computer readable instructions which, when executed, causethe processor to: output, via the display, a first visual representationof a first state of a radiation source, a radiation detector, and aworkpiece positioner; identify a change to be made to the first statebased on a modeled manipulation of the first visual representation;output, via the display, a second visual representation of a secondstate of the radiation source, the radiation detector reflecting themodeled manipulation; and control a scanner positioning system tophysically move the at least one of the radiation source, the radiationdetector, and the workpiece positioner to positions represented in thesecond state.

FIG. 1 illustrates an example X-ray scanning system 100 that may becontrolled using a scanner positioning control system. The example X-rayscanning system 100 may be used to perform non-destructive testing (NDT)and/or any other scanning application. The example X-ray scanning system100 is configured to direct X-rays 102 from an X-ray emitter 104 to anX-ray detector 106 through a workpiece 108 (e.g., an object under test).In the example of FIG. 1, a workpiece positioner 110 holds or securesthe workpiece 108, and moves and/or rotates the workpiece 108 such thatthe desired portion and/or orientation of the workpiece 108 is locatedin the path of the X-ray radiation 102.

As discussed in more detail below, any of the X-ray emitter 104, theX-ray detector 106, and/or the workpiece positioner 110 may bepositioned and/or reoriented using one or more actuators. Relativerepositioning of the X-ray emitter 104, the X-ray detector 106, and/orthe workpiece positioner 110 may result in different effects, such aschanging the focal length, changing the focal point, changing anunsharpness parameter, changing a magnification (e.g., a ratio ofdistance between X-ray emitter and X-ray detector to distance betweenX-ray emitter workpiece positioner or to workpiece), changing a portionof the workpiece 108 that is scanned, and/or other effects.

The X-ray scanning system 100 further includes an enclosure 112, inwhich the X-ray emitter 104, the X-ray detector 106, and the workpiecepositioner 110 are enclosed. The enclosure 112 includes one or moredoors 114 or other access openings to, for example, insert or remove theworkpiece 108, perform servicing on any of the components within theenclosure 112, and/or otherwise access an interior of the enclosure 112.

The X-ray detector 106 of FIG. 1 generates digital images based onincident X-ray radiation (e.g., generated by the X-ray emitter 104 anddirected toward the X-ray detector 106). The example X-ray detector 106may include a fluoroscopy detection system and a digital image sensorconfigured to receive an image indirectly via scintillation, and/or maybe implemented using a sensor panel (e.g., a CCD panel, a CMOS panel,etc.) configured to receive the X-rays directly, and to generate thedigital images. In other examples, the X-ray detector 106 may use asolid state panel coupled to a scintillation screen and having pixelsthat correspond to portions of the scintillation screen. Example solidstate panels may include CMOS X-ray panels and/or CCD X-ray panels.

Example implementations of the workpiece positioner 110 include amechanical manipulator, such a platen having linear and/or rotationalactuators. Other example workpiece positioners 110 may include roboticmanipulators, such as robotic arms having 6 degrees of freedom (DOF).

While the example of FIG. 1 includes an X-ray emitter 104 and an X-raydetector 106, in other examples the scanning system 100 may performscanning using radiation in other wavelengths.

FIG. 2 is a block diagram of the example X-ray scanning system 100 ofFIG. 1 and a scanning positioning control system 200. As discussedabove, the example X-ray scanning system 100 includes an X-ray emitter104, an X-ray detector 106, a workpiece positioner 110. The exampleX-ray scanning system 100 further includes a source actuator 116, adetector actuator 118, and a positioner actuator 120.

The X-ray scanning system 100 of FIG. 2 is communicatively coupled tothe scanner positioning control system 200. In some examples, aprogrammable logic controller (PLC) 202 or other interface device maycouple the scanner positioning control system 200 to the X-ray scanningsystem 100. For example, the PLC 202 may enable a personal computer orother generic computing device to communicate with (e.g., command,obtain information from) the actuators 116-120 and/or sensor(s) of thescanning system 100.

The example scanner positioning control system 200 of FIG. 2 includesone or more processor(s) 204, memory 206 and/or other computer readablestorage device(s), a display 208, communication circuitry 210, and oneor more input device(s) 212. The scanner positioning control system 200controls positioning of the X-ray emitter 104 (e.g., via the sourceactuator 116), positioning of the X-ray detector 106 (e.g., via thedetector actuator 118), and/or positioning of the workpiece positioner110 and/or the workpiece 108 (e.g., via the positioner actuator 120. Toreduce the trial-and-error involved in positioning the components104-110, the example scanner positioning control system 200 outputs, viathe display 208, visual representations of both a current arrangement ofthe X-ray emitter 104, the X-ray detector 106, and the workpiecepositioner 110, and an updated arrangement of the X-ray emitter 104, theX-ray detector 106, and the workpiece positioner 110 based onmanipulations of the arrangement made by the operator (e.g., via theinput device(s) 212). Example operator input device(s) 212 includebuttons, switches, analog joysticks, thumbpads, trackballs, and/or anyother type of user input device.

The scanner positioning control system 200 controls the X-ray emitter104, receives digital images from the X-ray detector 106, and/or outputsthe digital images to the display device 208. Additionally oralternatively, the scanner positioning control system 200 may storedigital images to a storage device. The scanner positioning controlsystem 200 may output the digital images as digital video to aid inreal-time non-destructive testing and/or store digital still images.

In the example of FIG. 2, the scanner positioning control system 200displays a three-dimensional representation of the current arrangementand the updated arrangement. FIG. 3 illustrates an example interface 300that may be used to implement the scanner positioning control system200, showing a first visual representation of a current arrangement 302of components 304 a, 306 a, 308 a of the X-ray scanning system 100, anda second arrangement 310 (e.g., updated components 306 b, 308 b)representative of a change to the current arrangement 302 of thecomponents 304 a-308 a.

Using the input device(s) 212, the example scanner positioning controlsystem 200 may identify change(s) to be made to the current arrangement(e.g., position(s) and/or orientation(s)) of at least one of the X-rayemitter 104, the workpiece positioner 110, and/or the X-ray detector106. Based on the change(s) to the current arrangement 302 identifiedvia the input device(s) 212, the scanner positioning control system 200displays the visual representation of the updated arrangement. Theexample interface 300 may be manipulated (e.g., via the input device(s)212) to change the positions and/or orientations of the components 304a, 306 a, 308 a and/or the viewpoint angle of the interface 300 (e.g., acamera angle, from which the arrangements 302, 310 are viewed on theinterface 300). As the operator manipulates the position and/ororientation of one or more of the component(s) 304 a, 306 a, 308 a, thescanner positioning control system 200 may generate a correspondingmodified component and/or change the position of the modified componentwhile maintaining the same position and/or orientation of thecomponent(s) 304 a, 306 a, 308 a in the current arrangement 302.

In an operational example, the operator may manipulate a cursor or otherinput device 212 to move the workpiece positioner 110 (e.g., thecomponent 306 a) on the interface 300. For example, the operator mayclick-and-drag the component 306 a in the interface 300 to adjust theposition and/or orientation, which is reflected by creation,positioning, and orienting of the updated component 306 b on theinterface 300. In the illustrated example of FIG. 3, the component 306 arepresents the current position of the workpiece positioner 110 andremains in the same position and orientation, while the updatedcomponent 306 b represents changes to be made to the position and/ororientation of the workpiece positioner 110. The operator may repeatedlyadjust the position and/or orientation of the updated component 306 buntil the desired position and/or orientation is achieved. When thedesired positioning of the component 306 b. Similarly, the operator mayreposition and/or reorient the X-ray detector 106 in the interface byclicking-and-dragging the component 308 a to adjust a position and/ororientation, which is represented by an updated component 308 b.

The scanner positioning control system 200 further controls a scannerpositioning system (e.g., the actuators 116, 118, 120, via the PLC 202)to physically move the X-ray emitter 104, the X-ray detector 106, andthe workpiece positioner 110 based on the change represented by theupdated arrangement 310. When a desired arrangement of the components304 a, 306 a, 308 a and/or updated components 304 b, 306 b, 308 b isobtained via the interface 300, the operator commands the scannerpositioning control system 200 to move the X-ray emitter 104, the X-raydetector 106, and the workpiece positioner 110 (e.g., via the PLC 202).In response to a command to implement the changed positions, theprocessor(s) 204 calculate paths between the positions of the components304 a, 306 a 308 a in the current arrangement 302 and the positions ofthe updated components 306 b, 308 b in the updated arrangement 310. Theprocessor(s) 204 then command the source actuator 116, the detectoractuator 118, and/or the positioner actuator 120 to move the X-rayemitter 104, the X-ray detector 106, and the workpiece positioner 110(e.g., via the PLC 202). In some examples, the PLC 202 may calculate thepaths based on coordinate information communicated by the scannerpositioning control system 200.

To aid the operator in determining the desired positions of the X-rayemitter 104, the X-ray detector 106, and/or the workpiece positioner110, the example scanner positioning control system 200 may includeadditional visual representations on the interface 300, such as aprojection 312 of a current position of the X-ray emitter component 304a onto a reference plane 314; a projection 316 of a current position ofthe X-ray detector component 308 a onto the reference plane 314; aprojection 318 of a current position of the workpiece positionercomponent 306 a onto the reference plane 314; a projection of a changedposition of the X-ray emitter component 304 a onto the reference plane314 based on the change(s) to be made to the arrangement 302; aprojection 320 of a changed position of the X-ray detector component 308b onto the reference plane 314 based on the change(s) to be made to thearrangement 302; a projection of a changed position of the workpiecepositioner component 306 b onto the reference plane 314 based on thechange(s) to be made to the arrangement 302. Additionally oralternatively, the scanner positioning control system 200 may calculateand project a focal point 322 of the X-ray beam onto the currentposition of the X-ray detector component 308 a and/or onto the updatedposition of the X-ray detector component 308 b.

The example reference plane 314, and/or one or more other referenceplanes, assists the operator by displaying the relative currentpositions of the components 304 a, 306 a, 308 a and/or the relativeupdated positions of the components 306 b, 308 b in a particular planethat may be difficult for the operator to precisely perceive spatialrelationships between the components.

Additionally or alternatively, the example scanner positioning controlsystem 200 may include visual representations on the interface 300 toproject the part onto the X-ray detector to visualize the scan. Examplevisualizations may include a projection of a part positioned on theworkpiece positioner component 306 a onto the X-ray detector component308 a based on the current arrangement, and/or a projection of the partpositioned on the workpiece positioner component 306 b onto the X-raydetector component based on the change(s) to be made to the arrangement302. To generate the projection, the example scanner positioning controlsystem 200 may use graphics processing to determine the occlusion of theemitted X-rays from the current position of the X-ray emitter component304 a (which may be based on a determined collimator, energy level,and/or any other aspects of the X-ray emitter) by a workpiece positionedon the workpiece positioner component 306 a, 306 b. The workpiece may berendered in the interface 300 from a 3D model of the workpiece and basedon the current or changed position of the workpiece positioner component306 a, 306 b.

In addition to the X-ray emitter component, the X-ray detectorcomponent, the workpiece positioner component, and/or the workpiece, theexample scanner positioning control system 200 may include in the visualrepresentations any of the door 114 of the enclosure 112, boundaries ofthe enclosure 112, limits of motion of the components 304 a, 306 a, 308a, ranges of motion of the components 304 a, 306 a, 308 a in which acollision has less than a threshold likelihood of occurring, a filterwheel, collimators, shutters, and/or any other elements that may bemovable and/or affect the position and/or orientation of the components304 a, 306 a, 308 a.

The example scanner positioning control system 200 may access currentpositions of the X-ray emitter 104, the X-ray detector 106, and/or theworkpiece positioner 110 to determine the first visual representation ofthe arrangement of the radiation source, the X-ray emitter 104, theX-ray detector 106, and/or the workpiece positioner 110 based on thepositions. To determine the current arrangement 302 (e.g., the positionsof the X-ray emitter 104, the X-ray detector 106, and the workpiecepositioner 110), the example scanning system 100 may include positionsensor(s) 122 that determine the positions of the X-ray emitter 104, theX-ray detector 106, and the workpiece positioner 110, and communicatethe positions to the scanner positioning control system 200 (e.g., viathe PLC 202). The scanner positioning control system 200 may store athree-dimensional coordinate system including ranges of positions withinwhich each of the X-ray emitter 104, the X-ray detector 106, and theworkpiece positioner 110 may be located. Using the position informationreceived from the position sensor(s) 122, the scanner positioningcontrol system 200 determines the positions of the X-ray emitter 104,the X-ray detector 106, and the workpiece positioner 110, and/or thepositions of any other component(s), within the coordinate system orreference frame defined by the interface 300.

As an example, the X-ray emitter 104 may be controlled using a linearactuator. The scanner positioning control system 200 may store acalibrated range of positions of the X-ray emitter 104 that correspondto the coordinate system. The position sensor(s) 122 may output anumerical value of the position of the X-ray emitter 104 along thelength of the range of the linear actuator, such that the scannerpositioning control system 200 may translate the sensed position of theX-ray emitter to the coordinate system in the interface 300. By storingsimilar position ranges with respect to the coordinate system, thescanner positioning control system 200 may determine the respectivepositions of the X-ray emitter 104, the X-ray detector 106, and theworkpiece positioner 110, and translate the positions to present thecurrent arrangement 302 in the interface 300.

The detected positions may further be used to determine and displaysecondary information, such as the projections on the reference plane314, projections of the X-rays and/or the workpiece on the X-raydetector component 308 a, X-ray detector focal length, a magnificationlevel (e.g., zoom), an unsharpness parameter, and/or any otherinformation that may be derived from the current positions of the X-rayemitter 104, the X-ray detector 106, and the workpiece positioner 110.

While the above example refers to a linear actuator, any other type(s)of actuator(s) or manipulator(s) may be used to physical position and/ormanipulate the X-ray emitter 104, the X-ray detector 106, the workpiecepositioner 110, the workpiece, and/or any other components. For example,the actuator(s) 116, 118, 120 may include 6 degree-of-freedom robotmanipulators, rotational actuators (e.g., direct rotation, worm gearrotation, etc.), and/or any other type of actuator.

FIG. 4 illustrates an example interface 400 that may be used toimplement the scanner positioning control system 200, showing a firstvisual representation of a current arrangement 402 of one or morecomponents of the X-ray scanning system 100, a second visualrepresentation of an updated arrangement 404 representative of a changeto the current arrangement 402 of the one or more components, and anexample guide graphic 406 that may be used to define a change inposition and/or orientation of the workpiece positioner 110.

In the example of FIG. 4, the scanner positioning control system 200displays a current position of the workpiece positioner component 408 aand an updated position of the workpiece positioner component 408 bbased on a change to the position of the workpiece positioner component408 b. Proximate to the updated workpiece positioner component 408 b,the scanner positioning control system 200 displays the guide graphics406 to enable the user to easily identified permitted modifications tothe position and orientation of the workpiece positioner component 408b. The example guide graphics 406 in FIG. 4 illustrate translationguides (e.g., in an X-direction, a Y-direction, and a Z-direction), androtation graphics (e.g., clockwise rotation and counterclockwiserotation in the plane of the workpiece positioner component 408 b).

FIG. 5 illustrates an example interface 500 that may be used toimplement the scanner positioning control system 200, showing a firstvisual representation of a current arrangement 502 of one or morecomponents of the X-ray scanning system, a second visual representationof an updated arrangement 504 of the one or more components, and anexample trajectory 506 between the first arrangement and the secondarrangement.

The example scanner positioning control system 200 may identify atrajectory to be followed by the X-ray emitter 104, the X-ray detector106, the workpiece positioner 110, and/or any other components in theinterface 500 between the current arrangement 502 and the updatedarrangement 504. The trajectory 506 may be implemented while moving thecomponents from the current arrangement 502 to the updated arrangement504 and/or during a scanning operation. The scanner positioning controlsystem 200 outputs a visual representation of the trajectory 506 on theinterface 500, which enables an operator to more easily determinewhether the desired trajectory will be implemented, as well as to moreeasily identify whether a collision could occur between componentsfollowing the trajectory 506.

In some examples, the scanner positioning control system 200 enables theoperator to adjust all or part of the trajectory, and/or to require useof a different path-finding techniques by the scanner positioningcontrol system 200 to calculate the trajectory 506.

Particularly when the trajectory 506 is not linear, the example scannerpositioning control system 200 may adapt the control of the actuators116, 118, 120 to implement the desired trajectory. For example, ratherthan commanding an updated position to be implemented by the PLC 202,the example scanner positioning control system 200 may break down theactuation into multiple, piecewise actuation, for implementation in theX-ray scanning system 100.

Additionally or alternatively, in some examples, the scanner positioningcontrol system 200 may include intermediate arrangement occurringtemporally between the current arrangement 502 and the updatedarrangement 504, and/or a sequence of states including the currentarrangement 502 and multiple updated arrangements. Such intermediatearrangements and/or sequences of arrangements may be useful to theoperator to visualize and control complex sequences of arrangements ofthe components, which may involve multiple movement directions and/orrotation directions, different components moving at different times,and/or any other changes.

FIG. 6 illustrates an example interface 600 that may be used toimplement the scanner positioning control system 200, showing a firstvisual representation of a current arrangement 602 of one or morecomponents of the X-ray scanning system 100 including a roboticmanipulator 604 to implement the workpiece positioner 110, and a secondvisual representation of an updated arrangement 606 of the one or morecomponents. As in the examples above, the interface 600 may displaytrajectories of the robotic manipulator 604, ranges of motion of therobotic manipulator 604, projections of the positions of the roboticmanipulator 604 onto one or more reference planes, and/or intermediatearrangements and/or sequences of arrangements involving the roboticmanipulator 604.

Additionally or alternatively, the scanner positioning control system200 may display an origin point or configuration of the roboticmanipulator 604 on the interface 600 to enable an operator to have areference point from which to determine the position of the roboticmanipulator 604. As with the current arrangement 602 and/or the updatedarrangement 606, the example scanner positioning control system 200 maydisplay a projection of the origin configuration onto one or morereference planes. The original configuration may further involve aworkpiece being held and manipulated by the robotic manipulator 604.

In some examples, the scanner positioning control system 200 maydetermine and display range of motion limits 608 of one or more jointsof a 6DOF robotic manipulator. In some examples, the scanner positioningcontrol system 200 may enable the operator to manipulate the range ofmotion limits 608, which causes the scanner positioning control system200 to constrain the motion of the robotic manipulator 604 whenimplementing the change from the current arrangement 602 to the updatedarrangement 606.

If the scanner positioning control system 200 determines that a motionassociated with the change from the current arrangement 602 to theupdated arrangement 606 will cause any of the X-ray emitter 104, theX-ray detector 106, the workpiece positioner 110, and/or any othercomponents to exceed the limits of the range of motion (e.g., the rangeof motion limits 608), the example scanner positioning control system200 may attempt to calculate a different trajectory from the currentarrangement 602 to the updated arrangement 606 that does not exceed therange of motion limits 608, and/or advise the operator that the range ofmotion limits 608 will be exceeded.

When performing testing, the example scanner positioning control system200 may store positioning information associated with a captured scanimage. The stored positioning information may include similarinformation as used to generate and display the current arrangements.The positioning information may later be used to visually represent thearrangement of the X-ray emitter 104, the X-ray detector 106, theworkpiece positioner 110, the workpiece 108, and/or any other componentswhen the image was captured, such as on the display 208. Additionally oralternatively, the example scanner positioning control system 200 maystore and retrieve recipes involving sequences of arrangements for ascanning process, which may also be visualized in a similar manner asthe current arrangements, updated arrangements, and/or sequences ofarrangements disclosed herein.

FIG. 7 is a flowchart representative of example machine readableinstructions 700 which may be executed by the example scannerpositioning control system 200 of FIG. 2 to perform digital X-rayimaging. The example instructions 700 may be performed by the exampleprocessor(s) 204 and/or stored as instructions in the memory 206 and/orother storage device(s).

At block 702, the scanner positioning control system 200 determines acurrent arrangement including position(s) of a radiation source (e.g.,the X-ray emitter 104), a radiation detector (e.g., the X-ray detector106), a workpiece positioner (e.g., the workpiece positioner 110),and/or a part under test (e.g., the workpiece 108). For example, thescanner positioning control system 200 may receive or access positionmeasurements from the position sensor(s) 122 of FIG. 2, and/or monitorthe position based on position changes from known or origin position(s)of the X-ray emitter 104, the X-ray detector 106, and the workpiecepositioner 110.

At block 704, the scanner positioning control system 200 displays avisual representation of a current arrangement (e.g., the currentarrangement 302 of FIG. 3) including the current positions of the X-rayemitter 104, the X-ray detector 106, the workpiece positioner 110,and/or the workpiece 108. For example, the scanner positioning controlsystem 200 may display, via the display 208, the components 304 a, 306a, 308 a in the interface 300.

At block 706, the scanner positioning control system 200 determineswhether inputs have been received to change position(s) of the X-rayemitter 104, the X-ray detector 106, the workpiece positioner 110,and/or the workpiece 108. For example, the scanner positioning controlsystem 200 may receive one or more inputs from the input device(s) 212to move the components 304 a, 306 a, 308 a in the interface 300.Additionally or alternatively, the input(s) may change updated positions(e.g., the updated components 306 b, 308 b) that have not yet beenimplemented, instead of acting on current positions of the components304 a, 306 a, 308 a.

If inputs have been received to change position(s) (block 706), at block708 the scanner positioning control system 200 determines an updatedarrangement based on the change(s). For example, the scanner positioningcontrol system 200 may determine a changed position(s) of the X-rayemitter 104, the X-ray detector 106, the workpiece positioner 110,and/or the workpiece 108, and/or projections of the components onto areference plane 314.

At block 710, the scanner positioning control system 200 determines anupdate focal point, updated magnification, and/or an updated unsharpnessparameter based on the determined change(s) to the current arrangement.

At block 712, the scanner positioning control system 200 displays avisual representation of an updated arrangement (e.g., the updatedarrangement 310) including the changed position(s), such as the updatedcomponents 306 b, 308 b.

After displaying the visual representation of the updated arrangement(block 712), and/or if inputs to change the position(s) have not beenreceived (block 706), at block 714 the scanner positioning controlsystem 200 determines whether to implement the update(s) to the currentarrangement 302. For example, the scanner positioning control system 200may determine whether a command has been received via the inputdevice(s) 212 to implement the changed position(s). If the update is notto be implemented (block 712), control returns to block 706 to awaitchanges to the current and/or updated arrangements.

When the update is to be implemented (block 712), at block 716 thescanner positioning control system 200 determines a trajectory of theX-ray emitter 104, the X-ray detector 106, the workpiece positioner 110,and/or the workpiece 108 from the current arrangement 302 to the updatedarrangement 310. For example, the scanner positioning control system 200may determine one or more paths to travel between the componentpositions of the current arrangement 302 (e.g., based on the determinedpositions) and the component positions of the updated arrangement 310(e.g., based on the commanded positions), as well as actuation pathsstored by the scanner positioning control system 200.

At block 718, the scanner positioning control system 200 determineswhether a collision is predicted based on the determined trajectory. Forexample, the scanner positioning control system 200 may monitor thetrajectories for potential collisions involving the X-ray emitter 104,the X-ray detector 106, the workpiece positioner 110, the workpiece 108,the enclosure, the door, and/or any other components in the system 100.

If a collision is predicted (block 718), at block 720 the scannerpositioning control system 200 generates a potential collision warningand does not implement the update to the arrangement. In some otherexamples, the scanner positioning control system 200 may attempt tocalculate alternative trajectories and/or sequences of actuation toimplement the updated arrangement. Control returns to block 706 topermit the operator to provide input(s) to change the updatedarrangement so as to avoid collision.

If a collision is not predicted (block 718), at block 722 the scannerpositioning control system 200 controls the scanner positioning system(e.g., the actuators 116-120, the PLC 202) to physically move the X-rayemitter 104, the X-ray detector 106, and/or the workpiece positioner 110based on the change(s). For example, the scanner positioning controlsystem 200 may directly control the actuator(s) 116-120, control theactuator(s) 116-120 via the PLC 202, and/or provide the updatedpositions to the PLC 202 to permit the PLC 202 to implement the changes.Control returns to block 702 to calculate and display a new currentarrangement.

FIG. 8 is a block diagram of an example computing system 800 that may beused to implement the scanner positioning control system 200 of FIG. 2.The example computing system 800 may be implemented using a personalcomputer, a server, a smartphone, a laptop computer, a workstation, atablet computer, and/or any other type of computing device.

The example computing system 800 of FIG. 8 includes a processor 802. Theexample processor 802 may be any general purpose central processing unit(CPU) from any manufacturer. In some other examples, the processor 802may include one or more specialized processing units, such as RISCprocessors with an ARM core, graphic processing units, digital signalprocessors, and/or system-on-chips (SoC). The processor 802 executesmachine readable instructions 804 that may be stored locally at theprocessor (e.g., in an included cache or SoC), in a random access memory806 (or other volatile memory), in a read only memory 808 (or othernon-volatile memory such as FLASH memory), and/or in a mass storagedevice 810. The example mass storage device 810 may be a hard drive, asolid state storage drive, a hybrid drive, a RAID array, and/or anyother mass data storage device.

A bus 812 enables communications between the processor 802, the RAM 806,the ROM 808, the mass storage device 810, a network interface 814,and/or an input/output interface 816.

The example network interface 814 includes hardware, firmware, and/orsoftware to connect the computing system 800 to a communications network818 such as the Internet. For example, the network interface 814 mayinclude IEEE 802.X-compliant wireless and/or wired communicationshardware for transmitting and/or receiving communications.

The example I/O interface 816 of FIG. 8 includes hardware, firmware,and/or software to connect one or more input/output devices 820 to theprocessor 802 for providing input to the processor 802 and/or providingoutput from the processor 802. For example, the I/O interface 816 mayinclude a graphics processing unit for interfacing with a displaydevice, a universal serial bus port for interfacing with one or moreUSB-compliant devices, a FireWire, a field bus, and/or any other type ofinterface. Example I/O device(s) 820 may include a keyboard, a keypad, amouse, a trackball, a pointing device, a microphone, an audio speaker,an optical media drive, a multi-touch touch screen, a gesturerecognition interface, a display device (e.g., the display device(s)118, 212) a magnetic media drive, and/or any other type of input and/oroutput device.

The example computing system 800 may access a non-transitory machinereadable medium 822 via the I/O interface 816 and/or the I/O device(s)820. Examples of the machine readable medium 822 of FIG. 8 includeoptical discs (e.g., compact discs (CDs), digital versatile/video discs(DVDs), Blu-ray discs, etc.), magnetic media (e.g., floppy disks),portable storage media (e.g., portable flash drives, secure digital (SD)cards, etc.), and/or any other type of removable and/or installedmachine readable media.

Example wireless interfaces, protocols, and/or standards that may besupported and/or used by the network interface(s) 814 and/or the I/Ointerface(s) 816, include wireless personal area network (WPAN)protocols, such as Bluetooth (IEEE 802.15); near field communication(NFC) standards; wireless local area network (WLAN) protocols, such asWiFi (IEEE 802.11); cellular standards, such as 2G/2G+ (e.g.,GSM/GPRS/EDGE, and IS-95 or cdmaOne) and/or 2G/2G+(e.g., CDMA2000, UMTS,and HSPA); 4G standards, such as WiMAX (IEEE 802.16) and LTE;Ultra-Wideband (UWB); etc. Example wired interfaces, protocols, and/orstandards that may be supported and/or used by the network interface(s)814 and/or the I/O interface(s) 816, such as to communicate with thedisplay device(s) 212, include comprise Ethernet (IEEE 802.3), FiberDistributed Data Interface (FDDI), Integrated Services Digital Network(ISDN), cable television and/or internet (ATSC, DVB-C, DOCSIS),Universal Serial Bus (USB) based interfaces, etc.

The processor 802, the network interface(s) 814, and/or the I/Ointerface(s) 816 may perform signal processing operations such as, forexample, filtering, amplification, analog-to-digital conversion and/ordigital-to-analog conversion, up-conversion/down-conversion of basebandsignals, encoding/decoding, encryption/decryption,modulation/demodulation, and/or any other appropriate signal processing.

The computing system 800 may use one or more antennas for wirelesscommunications and/or one or more wired port(s) for wiredcommunications. The antenna(s) may be any type of antenna (e.g.,directional antennas, omnidirectional antennas, multi-input multi-output(MIMO) antennas, etc.) suited for the frequencies, power levels,diversity, and/or other parameters required for the wireless interfacesand/or protocols used to communicate. The port(s) may include any typeof connectors suited for the communications over wiredinterfaces/protocols supported by the computing system 800. For example,the port(s) may include an Ethernet over twisted pair port, a USB port,an HDMI port, a passive optical network (PON) port, and/or any othersuitable port for interfacing with a wired or optical cable.

The present methods and systems may be realized in hardware, software,and/or a combination of hardware and software. The present methodsand/or systems may be realized in a centralized fashion in at least onecomputing system, or in a distributed fashion where different elementsare spread across several interconnected computing systems. Any kind ofcomputing system or other apparatus adapted for carrying out the methodsdescribed herein is suited. A typical combination of hardware andsoftware may include a general-purpose computing system with a programor other code that, when being loaded and executed, controls thecomputing system such that it carries out the methods described herein.Another typical implementation may comprise an application specificintegrated circuit or chip. Some implementations may comprise anon-transitory machine-readable (e.g., computer readable) medium (e.g.,FLASH drive, optical disk, magnetic storage disk, or the like) havingstored thereon one or more lines of code executable by a machine,thereby causing the machine to perform processes as described herein. Asused herein, the term “non-transitory machine-readable medium” isdefined to include all types of machine readable storage media and toexclude propagating signals.

As utilized herein the terms “circuits” and “circuitry” refer tophysical electronic components (i.e. hardware) and any software and/orfirmware (“code”) which may configure the hardware, be executed by thehardware, and or otherwise be associated with the hardware. As usedherein, for example, a particular processor and memory may comprise afirst “circuit” when executing a first one or more lines of code and maycomprise a second “circuit” when executing a second one or more lines ofcode. As utilized herein, “and/or” means any one or more of the items inthe list joined by “and/or”. As an example, “x and/or y” means anyelement of the three-element set {(x), (y), (x, y)}. In other words, “xand/or y” means “one or both of x and y”. As another example, “x, y,and/or z” means any element of the seven-element set {(x), (y), (z), (x,y), (x, z), (y, z), (x, y, z)}. In other words, “x, y and/or z” means“one or more of x, y and z”. As utilized herein, the term “exemplary”means serving as a non-limiting example, instance, or illustration. Asutilized herein, the terms “e.g.,” and “for example” set off lists ofone or more non-limiting examples, instances, or illustrations. Asutilized herein, circuitry is “operable” to perform a function wheneverthe circuitry comprises the necessary hardware and code (if any isnecessary) to perform the function, regardless of whether performance ofthe function is disabled or not enabled (e.g., by a user-configurablesetting, factory trim, etc.).

While the present method and/or system has been described with referenceto certain implementations, it will be understood by those skilled inthe art that various changes may be made and equivalents may besubstituted without departing from the scope of the present methodand/or system. For example, block and/or components of disclosedexamples may be combined, divided, re-arranged, and/or otherwisemodified. In addition, many modifications may be made to adapt aparticular situation or material to the teachings of the presentdisclosure without departing from its scope. Therefore, the presentmethod and/or system are not limited to the particular implementationsdisclosed. Instead, the present method and/or system will include allimplementations falling within the scope of the appended claims, bothliterally and under the doctrine of equivalents.

What is claimed is:
 1. A scanner positioning control system, comprising:a display; a processor; and a computer readable storage mediumcomprising computer readable instructions which, when executed, causethe processor to: output, via the display, a first visual representationof an arrangement of a radiation source, a radiation detector, and aworkpiece positioner; identify a change to be made to the arrangement ofat least one of the radiation source, the radiation detector, or theworkpiece positioner; output, via the display, a second visualrepresentation of the arrangement of the radiation source, the radiationdetector, and the workpiece positioner based on the change to be made tothe arrangement; and control a scanner positioning system to physicallymove the at least one of the radiation source, the radiation detector,and the workpiece positioner based on the change.
 2. The scannerpositioning control system as defined in claim 1, wherein the firstvisual representation comprises at least one of: a projection of acurrent position of the radiation source onto a reference plane; aprojection of a current position of the radiation detector onto thereference plane; a projection of a current position of the workpiecepositioner onto the reference plane; or a projection of a partpositioned on the workpiece positioner onto the radiation detector basedon the current position of the radiation source, the radiation detector,and the workpiece positioner.
 3. The scanner positioning control systemas defined in claim 1, wherein the second visual representationcomprises at least one of: a projection of a changed position of theradiation source onto the reference plane based on the change to be madeto the arrangement; a projection of a changed position of the radiationdetector onto the reference plane based on the change to be made to thearrangement; a projection of a changed position of the workpiecepositioner onto the reference plane based on the change to be made tothe arrangement; or a projection of the part positioned on the workpiecepositioner onto the radiation detector based on the change to be made tothe arrangement.
 4. The scanner positioning control system as defined inclaim 1, wherein the computer readable instructions cause the processorto control the scanner positioning system by controlling at least oneof: an enclosure in which the radiation source, the radiation detector,and the workpiece positioner are enclosed; a door of the enclosure;boundaries of the enclosure; a limit of motion of at least one ofradiation source, the radiation detector, or the workpiece positioner; arange of motion in which a collision involving at least one of radiationsource, the radiation detector, or the workpiece positioner has lessthan a threshold likelihood of occurring; a filter wheel; a collimator;or a shutter.
 5. The scanner positioning control system as defined inclaim 1, wherein the computer readable instructions cause the processorto access current positions of the radiation source, the radiationdetector, and the workpiece positioner, and determine the first visualrepresentation of the arrangement of the radiation source, the radiationdetector, and the workpiece positioner based on the positions.
 6. Thescanner positioning control system as defined in claim 1, wherein thefirst visual representation comprises at least one of a representationof a current focal point of radiation emitted by the radiation source oran updated focal point based on the change to be made to thearrangement.
 7. The scanner positioning control system as defined inclaim 1, wherein the computer readable instructions cause the processorto determine at least one of a magnification, an unsharpness parameter,or a focal length of the radiation detector following the change to bemade to the arrangement.
 8. The scanner positioning system as defined inclaim 1, wherein the computer readable instructions cause the processorto: identify a trajectory to be followed by at least one of theradiation source, the radiation detector, or the workpiece positionerduring a scanning operation, the trajectory having a startingarrangement of the radiation source, the radiation detector, and theworkpiece positioner and an ending arrangement of the radiation source,the radiation detector, and the workpiece positioner; output, via thedisplay, a third visual representation comprising the startingarrangement and the ending arrangement; and control the scannerpositioning system during the scanning operation to physically move theat least one of the radiation source, the radiation detector, and theworkpiece positioner based on the trajectory from the startingarrangement to the ending arrangement.
 9. The scanner positioning systemas defined in claim 8, wherein the third visual representation visuallyrepresents at least one of a change in position or a change inorientation of at least one of the radiation source, the radiationdetector, and the workpiece positioner between the starting arrangementand the ending arrangement.
 10. The scanner positioning system asdefined in claim 1, wherein the first visual representation and thesecond visual representation are three-dimensional representations. 11.The scanner positioning system as defined in claim 1, wherein thecomputer readable instructions cause the processor to determine a rangeof motion of at least one of the radiation source, the radiationdetector, or the workpiece positioner, wherein at least one of the firstvisual representation or the second visual representation include arepresentation of the range.
 12. The scanner positioning system asdefined in claim 11, wherein the computer readable instructions causethe processor to determine whether a motion associated with the changeto the arrangement will cause at least one of the radiation source, theradiation detector, or the workpiece positioner to exceed the limits ofthe range of motion.
 13. The scanner positioning system as defined inclaim 1, wherein at least one of the first visual representation or thesecond visual representation includes a representation of a workpieceheld on the workpiece positioner.
 14. The scanner positioning system asdefined in claim 1, wherein at least one of the first visualrepresentation or the second visual representation comprises arepresentation of a robot arm, an origin point of a movement of theworkpiece positioner, or one or more vectors representative of thechange to the arrangement.
 15. The scanner positioning system as definedin claim 1, wherein the computer readable instructions are to cause theprocessor to output, via the display, a third visual representation ofan intermediate arrangement of the radiation source, the radiationdetector, and the workpiece positioner based on the arrangement and thechange to be made to the arrangement.
 16. The scanner positioning systemas defined in claim 1, wherein at least one of the first visualrepresentation or the second visual representation comprises at leastone of an enclosure, an enclosure door, a filter wheel, a radiationsource collimator, or a radiation source shutter.
 17. The scannerpositioning system as defined in claim 1, wherein the computer readableinstructions cause the processor to determine at least one of amagnification, an unsharpness parameter, or a focal length of theradiation detector of the arrangement.
 18. The scanner positioningsystem as defined in claim 1, further comprising a user input device,wherein the computer readable instructions cause the processor toidentify the change to be made to the arrangement based on one or moreinputs via the user input device.
 19. A scanner positioning system,comprising: a display; a processor; and a computer readable storagemedium comprising computer readable instructions which, when executed,cause the processor to: render a three-dimensional representation of aradiation source, a radiation detector, and a workpiece positioner basedon an arrangement of the radiation source, the radiation detector, andthe workpiece positioner; render changes to the arrangement in responseto commands to change the arrangement; and control positions andorientations of the radiation source, the radiation detector, and theworkpiece positioner based on the rendered arrangement including therendered changes.
 20. A scanner positioning control system, comprising:a display; a processor; and a computer readable storage mediumcomprising computer readable instructions which, when executed, causethe processor to: output, via the display, a first visual representationof a first state of a radiation source, a radiation detector, and aworkpiece positioner; identify a change to be made to the first statebased on a modeled manipulation of the first visual representation;output, via the display, a second visual representation of a secondstate of the radiation source, the radiation detector reflecting themodeled manipulation; and control a scanner positioning system tophysically move the at least one of the radiation source, the radiationdetector, and the workpiece positioner to positions represented in thesecond state.